SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO


CREATE Proc [dbo].[SP_TXMVTO_CNTB_I28]     
/*-------------------------------------------------------------------*/        
/*----- Empresa           : OFISIS S.A.                          ----*/        
/*----- Cliente           : OFISIS S.A.                          ----*/        
/*----- Sistema           : Contabilidad                         ----*/        
/*----- Modulo            : Empresa                              ----*/        
/*----- Programa          : Mantenimiento de vouchers(DISTRIBUCION POR AUXILIARES Y O/T)----*/        
/*----- Nombre            : SP_TXMVTO_CNTB_I28                   ----*/        
/*----- Script            : TXMVTO_CNTB                          ----*/        
/*----- Desarrollado por  : PERCY GARCIA                         ----*/        
/*----- Fecha             : 16/04/2004                           ----*/        
/*----- Base de Datos     : MS SQL Server                        ----*/        
/*----- Version BD        : 2000                                  ----*/        
/*-------------------------------------------------------------------*/        
/*---------------------------------------------------------------------*/    
/*----- Modificado 1 por : percy garcia                          ----*/    
/*----- Fecha Modifica   : 05/06/2004                            ----*/    
/*----- Detalle Modifica : usuario creacion y modif              ----*/    
/*-------------------------------------------------------------------*/    
/*-------------------------------------------------------------------*/        
/*----- Drop proc SP_TXMVTO_CNTB_I28                             ----*/        
/*----- Grant all on SP_TXMVTO_CNTB_I28 to PUBLIC                ----*/        
/*----- SP_TXMVTO_CNTB_I28                                       ----*/        
/*-------------------------------------------------------------------*/        
@ISCO_EMPR TD_VC_002,        
@ISCO_USUA          TD_VC_008,
@IDFE_USUA          TD_DT_001,
@ISCO_UNID_CNTB TD_VC_003,        
@INNU_CNTB_EMPR TD_IN_001_CONT,        
@ISCO_OPRC_CNTB TD_VC_003,        
@INNU_ANNO TD_IN_004_ANNO,        
@INNU_MESE TD_IN_002_MESE,        
@ISNU_ASTO TD_VC_010,        
@INNU_SECU TD_IN_002,    
@ISST_GENE TD_VC_003,        
@ISCO_CNTA_EMPR TD_VC_020_CNTA,    
@ISTI_DOCU TD_VC_003,        
@ISNU_DOCU TD_VC_020,    
@IDFE_ASTO_CNTB TD_DT_001     
        
As                                                             
       
Declare        
@VNNU_ULTI_ASTO TD_IN_001,        
@VNUL_CHEQ_GIRA TD_IN_001,        
@ISST_GENE_ASTO TD_VC_003,        
@VSST_CNTA_CAMB   TD_VC_003,        
@VNFA_CAMB_DIAR TD_NU_016_004        
        
Select @ISST_GENE_ASTO = ST_GENE_ASTO        
From TTCNTB_EMPR        
Where CO_EMPR = @ISCO_EMPR and         
 NU_CNTB_EMPR = @INNU_CNTB_EMPR        
    
Begin Tran SP_TXMVTO_CNTB_I28     
  If @INNU_SECU = 1        
  If @ISST_GENE_ASTO = 'GEN'        
   Begin        
       Select @VNNU_ULTI_ASTO = IsNull(NU_ULTI_ASTO,0)        
       From TCFECH_PROC        
       Where CO_EMPR = @ISCO_EMPR        
       and NU_CNTB_EMPR = @INNU_CNTB_EMPR        
       and CO_UNID_CNTB = @ISCO_UNID_CNTB        
       and CO_OPRC_CNTB = @ISCO_OPRC_CNTB        
       and NU_ANNO = @INNU_ANNO        
       and NU_MESE = @INNU_MESE         
--  If @VNNU_ULTI_ASTO + 1 != Convert(int, @ISNU_ASTO)        
--   Begin        
       Select @ISNU_ASTO = Convert( varchar(10), @VNNU_ULTI_ASTO + 1 )        
       Select @ISNU_ASTO = STUFF('0000000000', 11-datalength( @ISNU_ASTO ), datalength(@ISNU_ASTO ), @ISNU_ASTO )        
--   End        
                  
 Update TCFECH_PROC        
 Set NU_ULTI_ASTO = @VNNU_ULTI_ASTO + 1        
 Where CO_EMPR = @ISCO_EMPR        
 and NU_CNTB_EMPR = @INNU_CNTB_EMPR        
 and CO_UNID_CNTB = @ISCO_UNID_CNTB        
 and CO_OPRC_CNTB = @ISCO_OPRC_CNTB        
 and NU_ANNO = @INNU_ANNO        
 and NU_MESE = @INNU_MESE      
    
 If @@ERROR != 0             
  Begin         
   Rollback Transaction SP_TXMVTO_CNTB_I28    
  Return        
  End     
      
End        
                
Insert Into TXMVTO_CNTB        
(CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO,        
 NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR, CO_AUXI_EMPR, TI_DOCU, NU_DOCU,        
 FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB, FA_CAMB_DIAR, TI_OPER, IM_MVTO_ORIG,        
 IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE, NU_DOCU_REFE, FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ,        
 FE_PROG_CHEQ, CO_ORDE_SERV, SI_MVTO_CNTB, CO_UNID_ORIG , CO_OPRC_ORIG, NU_ASTO_ORIG,        
 ST_OTRS, NU_PROC, NU_PROC_SECU, ST_GEST, ST_REDO, IM_MVTO_RETE, TI_DOCU_DETR, NU_DOCU_DETR, FE_DOCU_DETR,     
 NU_SECU_DIST, PO_DIST,        
 FE_USUA_CREA, CO_USUA_CREA,         
 FE_USUA_MODI, CO_USUA_MODI)        
 Select     
 CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, @ISNU_ASTO,        
 NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, NullIf(Rtrim(TI_AUXI_EMPR), ''), NullIf(Rtrim(CO_AUXI_EMPR), ''), NullIf(Rtrim(TI_DOCU), ''), NullIf(Rtrim(NU_DOCU), ''),        
 NullIf(FE_DOCU, ''), NullIf(FE_DOCU_VENC, ''), TI_CAMB, CO_MONE, IsNull(FA_CAMB, 1.00), IsNull(FA_CAMB_DIAR, 1.00), TI_OPER, IM_MVTO_ORIG,        
 IM_MVTO_CNTB, DE_GLOS, NullIf(Rtrim(TI_DOCU_REFE), ''), NullIf(Rtrim(NU_DOCU_REFE), ''), NullIf(FE_DOCU_REFE, ''), NO_GIRA, NullIf(FE_ENTR_CHEQ, ''),        
 NullIf(FE_PROG_CHEQ, ''), NullIf(Rtrim(CO_ORDE_SERV), ''), SI_MVTO_CNTB, NULL , NULL, NULL,        
 NULL, NULL, NULL, 'N', 'N', IM_MVTO_RETE, NullIf(Rtrim(TI_DOCU_DETR), ''), NullIf(Rtrim(NU_DOCU_DETR), ''), NullIf(FE_DOCU_DETR, ''), NU_SECU_DIST, PO_DIST,        
 @IDFE_USUA, @ISCO_USUA,         
 @IDFE_USUA, @ISCO_USUA    
 From #TWMVTO_DIST     
     
 If @@ERROR != 0             
  Begin         
   Rollback Transaction SP_TXMVTO_CNTB_I28    
  Return        
  End        
Commit Tran SP_TXMVTO_CNTB_I28        
Select @ISNU_ASTO    
Return        
/*----------------------------------------- Fin ----------------------------------------*/        
      
    
    
    
    
    
  
  
  





GO
